Skip to content

Monitor Cron e2e Tests #705

Monitor Cron e2e Tests

Monitor Cron e2e Tests #705

Triggered via schedule May 24, 2025 08:07
Status Failure
Total duration 28m 7s
Artifacts 2

e2e_cron.yml

on: schedule
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 1 notice
[chromium] › src/e2e/specs/landing/landing-content.spec.ts:51:3 › stage - Verify the Landing Page content › Observe "We will help you fix your exposures" section: src/e2e/specs/landing/landing-content.spec.ts#L60
4) [chromium] › src/e2e/specs/landing/landing-content.spec.ts:51:3 › stage - Verify the Landing Page content › Observe "We will help you fix your exposures" section Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 2000ms waiting for expect(locator).toBeVisible() Locator: locator('span').filter({ has: getByText('We’ll help you fix your exposures') }).filter({ has: getByRole('heading', { name: 'We’ll help you fix your exposures' }) }) Expected: visible Received: <element(s) not found> Call log: - expect.toBeVisible with timeout 2000ms - waiting for locator('span').filter({ has: getByText('We’ll help you fix your exposures') }).filter({ has: getByRole('heading', { name: 'We’ll help you fix your exposures' }) }) 58 | }); 59 | > 60 | await expect(landingPage.fixExposuresTitle).toBeVisible(); | ^ 61 | await expect(landingPage.fixExposuresSubtitle).toBeVisible(); 62 | if (await emailInputShouldExist(landingPage)) { 63 | await expect(landingPage.fixExposuresFormEmailInputField).toBeVisible(); at /home/runner/work/blurts-server/blurts-server/src/e2e/specs/landing/landing-content.spec.ts:60:49
[chromium] › src/e2e/specs/landing/landing-content.spec.ts:51:3 › stage - Verify the Landing Page content › Observe "We will help you fix your exposures" section: src/e2e/specs/landing/landing-content.spec.ts#L60
4) [chromium] › src/e2e/specs/landing/landing-content.spec.ts:51:3 › stage - Verify the Landing Page content › Observe "We will help you fix your exposures" section Error: Timed out 2000ms waiting for expect(locator).toBeVisible() Locator: locator('span').filter({ has: getByText('We’ll help you fix your exposures') }).filter({ has: getByRole('heading', { name: 'We’ll help you fix your exposures' }) }) Expected: visible Received: <element(s) not found> Call log: - expect.toBeVisible with timeout 2000ms - waiting for locator('span').filter({ has: getByText('We’ll help you fix your exposures') }).filter({ has: getByRole('heading', { name: 'We’ll help you fix your exposures' }) }) 58 | }); 59 | > 60 | await expect(landingPage.fixExposuresTitle).toBeVisible(); | ^ 61 | await expect(landingPage.fixExposuresSubtitle).toBeVisible(); 62 | if (await emailInputShouldExist(landingPage)) { 63 | await expect(landingPage.fixExposuresFormEmailInputField).toBeVisible(); at /home/runner/work/blurts-server/blurts-server/src/e2e/specs/landing/landing-content.spec.ts:60:49
[chromium] › src/e2e/specs/landing/landing-content.spec.ts:31:3 › stage - Verify the Landing Page content › Observe "Find where your private info is exposed and take it back" section: src/e2e/specs/landing/landing-content.spec.ts#L40
3) [chromium] › src/e2e/specs/landing/landing-content.spec.ts:31:3 › stage - Verify the Landing Page content › Observe "Find where your private info is exposed and take it back" section Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 2000ms waiting for expect(locator).toBeVisible() Locator: getByRole('heading', { name: 'Find where your private info is exposed — and take it back' }) Expected: visible Received: <element(s) not found> Call log: - expect.toBeVisible with timeout 2000ms - waiting for getByRole('heading', { name: 'Find where your private info is exposed — and take it back' }) 38 | }); 39 | > 40 | await expect(landingPage.monitorHeroTitle).toBeVisible(); | ^ 41 | await expect(landingPage.monitorHeroSubtitle).toHaveText( 42 | "We scan to see if your phone number, passwords or home address have been leaked, and help you make it private again.", 43 | ); at /home/runner/work/blurts-server/blurts-server/src/e2e/specs/landing/landing-content.spec.ts:40:48
[chromium] › src/e2e/specs/landing/landing-content.spec.ts:31:3 › stage - Verify the Landing Page content › Observe "Find where your private info is exposed and take it back" section: src/e2e/specs/landing/landing-content.spec.ts#L40
3) [chromium] › src/e2e/specs/landing/landing-content.spec.ts:31:3 › stage - Verify the Landing Page content › Observe "Find where your private info is exposed and take it back" section Error: Timed out 2000ms waiting for expect(locator).toBeVisible() Locator: getByRole('heading', { name: 'Find where your private info is exposed — and take it back' }) Expected: visible Received: <element(s) not found> Call log: - expect.toBeVisible with timeout 2000ms - waiting for getByRole('heading', { name: 'Find where your private info is exposed — and take it back' }) 38 | }); 39 | > 40 | await expect(landingPage.monitorHeroTitle).toBeVisible(); | ^ 41 | await expect(landingPage.monitorHeroSubtitle).toHaveText( 42 | "We scan to see if your phone number, passwords or home address have been leaked, and help you make it private again.", 43 | ); at /home/runner/work/blurts-server/blurts-server/src/e2e/specs/landing/landing-content.spec.ts:40:48
[chromium] › src/e2e/specs/dashboard/dashboard-overview-card.spec.ts:24:3 › stage - Breaches Dashboard - Overview Card › Verify that the Premium upsell screen is displayed correctly - overview card: src/e2e/specs/dashboard/dashboard-overview-card.spec.ts#L45
2) [chromium] › src/e2e/specs/dashboard/dashboard-overview-card.spec.ts:24:3 › stage - Breaches Dashboard - Overview Card › Verify that the Premium upsell screen is displayed correctly - overview card Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect.toBeVisible: Error: strict mode violation: locator('div > strong + ul') resolved to 3 elements: 1) <ul class="noList">…</ul> aka getByLabel('Main menu').getByText('Set notificationsManage') 2) <ul class="noList">…</ul> aka getByLabel('Navigation').getByText('Set notificationsManage') 3) <ul>…</ul> aka getByRole('list').filter({ hasText: 'Monthly scan of ⁨190⁩ data' }) Call log: - expect.toBeVisible with timeout 2000ms - waiting for locator('div > strong + ul') 43 | 44 | //checking the bullet points > 45 | await expect(automaticRemovePage.ulElement).toBeVisible(); | ^ 46 | 47 | for (const itemText of automaticRemovePage.bulletPointsExpected) { 48 | const liElement = automaticRemovePage.liElements.getByText(itemText); at /home/runner/work/blurts-server/blurts-server/src/e2e/specs/dashboard/dashboard-overview-card.spec.ts:45:49
[chromium] › src/e2e/specs/dashboard/dashboard-overview-card.spec.ts:24:3 › stage - Breaches Dashboard - Overview Card › Verify that the Premium upsell screen is displayed correctly - overview card: src/e2e/specs/dashboard/dashboard-overview-card.spec.ts#L45
2) [chromium] › src/e2e/specs/dashboard/dashboard-overview-card.spec.ts:24:3 › stage - Breaches Dashboard - Overview Card › Verify that the Premium upsell screen is displayed correctly - overview card Error: expect.toBeVisible: Error: strict mode violation: locator('div > strong + ul') resolved to 3 elements: 1) <ul class="noList">…</ul> aka getByLabel('Main menu').getByText('Set notificationsManage') 2) <ul class="noList">…</ul> aka getByLabel('Navigation').getByText('Set notificationsManage') 3) <ul>…</ul> aka getByRole('list').filter({ hasText: 'Monthly scan of ⁨190⁩ data' }) Call log: - expect.toBeVisible with timeout 2000ms - waiting for locator('div > strong + ul') 43 | 44 | //checking the bullet points > 45 | await expect(automaticRemovePage.ulElement).toBeVisible(); | ^ 46 | 47 | for (const itemText of automaticRemovePage.bulletPointsExpected) { 48 | const liElement = automaticRemovePage.liElements.getByText(itemText); at /home/runner/work/blurts-server/blurts-server/src/e2e/specs/dashboard/dashboard-overview-card.spec.ts:45:49
[chromium] › src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:37:3 › stage - Breaches Dashboard - Breaches Scan: src/e2e/pages/welcomeScanPage.ts#L90
1) [chromium] › src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:37:3 › stage - Breaches Dashboard - Breaches Scan, Continuous Protection, Data Profile Actions › Verify that the Premium upsell modal is displayed correctly - Continuous Protection, verify that the user can mark Data broker profiles as fixed Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 180000ms exceeded. Call log: - waiting for getByText('AtlantaGA, USA', { exact: true }) at ../pages/welcomeScanPage.ts:90 88 | await this.lastNameInputField.fill("Ackerman"); 89 | await this.cityStateInputField.pressSequentially("Atlanta, GA, USA"); > 90 | await this.page.getByText("AtlantaGA, USA", { exact: true }).click(); | ^ 91 | await this.dobInputField.fill("2002-01-01"); 92 | await this.findExposuresButton.click(); 93 | at WelcomePage.goThroughFirstScan (/home/runner/work/blurts-server/blurts-server/src/e2e/pages/welcomeScanPage.ts:90:66) at /home/runner/work/blurts-server/blurts-server/src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:33:5
[chromium] › src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:37:3 › stage - Breaches Dashboard - Breaches Scan: src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts#L15
1) [chromium] › src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:37:3 › stage - Breaches Dashboard - Breaches Scan, Continuous Protection, Data Profile Actions › Verify that the Premium upsell modal is displayed correctly - Continuous Protection, verify that the user can mark Data broker profiles as fixed Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 180000ms exceeded while running "beforeEach" hook. 13 | test.use({ storageState: { cookies: [], origins: [] } }); 14 | > 15 | test.beforeEach(async ({ landingPage, page, authPage, welcomePage }) => { | ^ 16 | test.slow( 17 | true, 18 | "this test runs through the welcome scan flow, increasing timeout to address it", at /home/runner/work/blurts-server/blurts-server/src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:15:8
[chromium] › src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:37:3 › stage - Breaches Dashboard - Breaches Scan: src/e2e/pages/welcomeScanPage.ts#L90
1) [chromium] › src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:37:3 › stage - Breaches Dashboard - Breaches Scan, Continuous Protection, Data Profile Actions › Verify that the Premium upsell modal is displayed correctly - Continuous Protection, verify that the user can mark Data broker profiles as fixed Error: locator.click: Test timeout of 180000ms exceeded. Call log: - waiting for getByText('AtlantaGA, USA', { exact: true }) at ../pages/welcomeScanPage.ts:90 88 | await this.lastNameInputField.fill("Ackerman"); 89 | await this.cityStateInputField.pressSequentially("Atlanta, GA, USA"); > 90 | await this.page.getByText("AtlantaGA, USA", { exact: true }).click(); | ^ 91 | await this.dobInputField.fill("2002-01-01"); 92 | await this.findExposuresButton.click(); 93 | at WelcomePage.goThroughFirstScan (/home/runner/work/blurts-server/blurts-server/src/e2e/pages/welcomeScanPage.ts:90:66) at /home/runner/work/blurts-server/blurts-server/src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:33:5
[chromium] › src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:37:3 › stage - Breaches Dashboard - Breaches Scan: src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts#L15
1) [chromium] › src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:37:3 › stage - Breaches Dashboard - Breaches Scan, Continuous Protection, Data Profile Actions › Verify that the Premium upsell modal is displayed correctly - Continuous Protection, verify that the user can mark Data broker profiles as fixed Test timeout of 180000ms exceeded while running "beforeEach" hook. 13 | test.use({ storageState: { cookies: [], origins: [] } }); 14 | > 15 | test.beforeEach(async ({ landingPage, page, authPage, welcomePage }) => { | ^ 16 | test.slow( 17 | true, 18 | "this test runs through the welcome scan flow, increasing timeout to address it", at /home/runner/work/blurts-server/blurts-server/src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:15:8
🎭 Playwright Run Summary
52 failed [chromium] › src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:37:3 › stage - Breaches Dashboard - Breaches Scan, Continuous Protection, Data Profile Actions › Verify that the Premium upsell modal is displayed correctly - Continuous Protection, verify that the user can mark Data broker profiles as fixed [chromium] › src/e2e/specs/dashboard/dashboard-overview-card.spec.ts:24:3 › stage - Breaches Dashboard - Overview Card › Verify that the Premium upsell screen is displayed correctly - overview card [chromium] › src/e2e/specs/landing/landing-content.spec.ts:31:3 › stage - Verify the Landing Page content › Observe "Find where your private info is exposed and take it back" section [chromium] › src/e2e/specs/landing/landing-content.spec.ts:51:3 › stage - Verify the Landing Page content › Observe "We will help you fix your exposures" section [chromium] › src/e2e/specs/landing/landing-content.spec.ts:69:3 › stage - Verify the Landing Page content › Observe "What info could be at risk?" section [chromium] › src/e2e/specs/landing/landing-content.spec.ts:87:3 › stage - Verify the Landing Page content › Observe "Scan your email to get started" section [chromium] › src/e2e/specs/landing/landing-content.spec.ts:117:3 › stage - Verify the Landing Page content › Observe FAQ section [chromium] › src/e2e/specs/landing/landing-content.spec.ts:162:3 › stage - Verify the Landing Page content › Verify the 'Get data removal' button UI and functionality for both yearly and monthly options [chromium] › src/e2e/specs/landing/landing-content.spec.ts:187:3 › stage - Verify the Landing Page content › Verify the "Get free scan" corresponding email fields [chromium] › src/e2e/specs/landing/landing-content.spec.ts:222:3 › stage - Verify the Landing Page content › Verify manual/automatic removal "more info" tips from "Choose your level of protection" section [chromium] › src/e2e/specs/landing/landing-existing-account.spec.ts:14:3 › stage - Verify the Landing Page Functionality - existing account › Verify "Get free scan" buttons functionality with an existing account [chromium] › src/e2e/specs/landing/landing-existing-account.spec.ts:52:3 › stage - Verify the Landing Page Functionality - existing account › Verify the "Start free monitoring" button UI and functionality with an existing account [chromium] › src/e2e/specs/landing/landing-new-account.spec.ts:17:3 › stage - Verify the Landing Page Functionality - new account › Verify "Get free scan" buttons functionality with a new account [chromium] › src/e2e/specs/landing/landing-new-account.spec.ts:56:3 › stage - Verify the Landing Page Functionality - new account › Verify the "Start free monitoring" button UI and functionality with a new account [chromium] › src/e2e/specs/purchase.spec.ts:49:3 › stage - Breach Scan, Monitor Plus Purchase Flow › Verify that the user can purchase the plus subscription with a Stripe card [firefox] › src/e2e/specs/auth.spec.ts:13:3 › stage - Authentication flow verification @smoke › Verify sign up with new user [firefox] › src/e2e/specs/auth.spec.ts:43:3 › stage - Authentication flow verification @smoke › Verify sign in with existing user [firefox] › src/e2e/specs/breachResolution.spec.ts:31:3 › stage - Breaches Dashboard - Headers › Verify that the site header is displayed correctly for signed in users [firefox] › src/e2e/specs/breachResolution.spec.ts:103:3 › stage - Breaches Dashboard - Headers › Verify that the user can navigate through the Monitor dashboard [firefox] › src/e2e/specs/dashboard/dashboard-breaches-scan.spec.ts:37:3 › stage - Breaches Dashboard - Breaches Scan, Continuous Protection, Data Profile Actions › Verify that the Premium upsell modal is displayed correctly - Continuous Protection, verify that the user can mark Data broker profiles as fixed [firefox] › src/e2e/specs/dashboard/dashboard-content.spec.ts:32:3 › stage - Breaches Dashboard - Content @smoke › Verify that the exposure list contains action needed [firefox] › src/e2

Artifacts

Produced during runtime
Name Size Digest
playwright-report
33.6 MB
sha256:5d0d63fefd80fe0b2aa69ddbce4a3401445fd4f5381b612866cc0d27c68882a7
test-results
42.4 MB
sha256:7ca191092f3951fac7618e5fcfe41a8c71ef62a0134baaabdb3835c10c4ac952